使用seleniumbase单击元素

Clicking on element with seleniumbase

提问人:Marsango 提问时间:11/11/2023 最后编辑:toyota SupraMarsango 更新时间:11/11/2023 访问量:49

问:

我正在尝试单击一个元素,但它没有按预期发生 我尝试了以下方法,但由于某种原因它不起作用:seleniumbase

<code>
driver.click('div[class="ovm-OverviewMediaButton me-MediaButtonLoader me-MediaButtonLoader_MLVideo"]')
Received the exception:
seleniumbase.common.exceptions.NoSuchElementException: Message: 
 Element {div[class="ovm-OverviewMediaButton me-MediaButtonLoader me-MediaButtonLoader_MLVideo"]} was not present after 7 seconds! <code>
Trying with only the first class name:
<code> driver.click('div[class="ovm-OverviewMediaButton"]')
seleniumbase.common.exceptions.NoSuchElementException: Message: 
 Element {div[class="ovm-OverviewMediaButton"]} was not present after 7 seconds! <code>

我试图点击的元素:

<code>
<div class="ovm-OverviewMediaButton me-MediaButtonLoader me-MediaButtonLoader_MLVideo "></div> <code>
python xpath css-selectors 屏幕抓取 seleniumbase

评论

0赞 DonnyFlaw 11/13/2023
的末尾有一个空格,所以请尝试精确字符串:@classdriver.click('div[class="ovm-OverviewMediaButton me-MediaButtonLoader me-MediaButtonLoader_MLVideo "]')

答:

0赞 Michael Mintz 11/11/2023 #1

下面是该元素的有效选择器:.div.ovm-OverviewMediaButton

要使用 seleniumbase 单击它,请使用:driver

driver.click("div.ovm-OverviewMediaButton")

评论

0赞 DonnyFlaw 11/13/2023
为什么你认为OP使用了无效的选择器?
0赞 Michael Mintz 11/13/2023
每当您有一长串类名时,选择一个并使用符号会更可靠(也更干净)。网站可以轻松添加/删除类名,从而破坏您的选择器。.class
0赞 DonnyFlaw 11/14/2023
是的,这是真的,但是当你说你的选择器是有效的时,你暗示OP使用了无效的选择器,这是不正确的,可能会误导OP。最好建议你的答案更可靠,我想它会起作用,但它不会真正让 OP 了解问题的根本原因。