我試圖在Python中使用Selenium獲得這個action-button類的選擇器,但是通過使用Javascript Document QuerySelector。這意味著通過WebDriver執行一些js代碼,看起來像這樣:
printBtnlast = driver.execute_script(
"return document.querySelector('print-preview-app')...('controls').querySelector({WHAT_TO_DO_HERE?}) "
)
(用'......'節略,以顯示主旨)
到目前為止,我已經嘗試了查詢。
'cr-button[class='action-button']',令人驚訝的是,它給出了Message: javascript error: missing ) after argument list.
我可以在{WHAT_TO_DOHERE?}中放置什么,以便訪問下面圖片中的action-button?
uj5u.com熱心網友回復:
對于這個
printBtnlast = driver.execute_script(
"return document.querySelector('print-preview-app')...('controls').querySelector({WHAT_TO_DO_HERE?}) "
)
你可以試試這個 :
printBtnlast = driver.execute_script("return document.querySelector('div.controls > cr-button.action-button')")
或者
printBtnlast = driver.execute_script("return document.querySelector('cr-button.action-button')")
uj5u.com熱心網友回復:
query Selector的語法與XPath的語法有一點不同。你可以使用CSS選擇器來定位一個元素。找到按鈕的一個方法是:
querySelector("cr-button.action-button")
由于你沒有提供頁面,所以我無法訪問該頁面,但可能是有不止一個元素具有給定的路徑。那么其他的解決方案可能是:
querySelector("div.controls > cr-button.action-button")
你嘗試的查詢可能會因為引號而產生錯誤。你可以試試這個:
'cr-button[class="action-button"]'。
這樣做應該可以:
printBtnlast = driver.execute_script("return document.querySelector('.controls > .action-button')")
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/318347.html
標籤:
上一篇:殼。引數串列太長
下一篇:使用此命令無法獲得Chrome的版本:google-chrome--version||google-chrome-stable--version

